In recent years, various types of terminals have been used, and the number of types of such terminals is tending to increase. Furthermore, data formats that can be used by such terminals vary in each terminal type. Accordingly, a content conversion system is known, in which, if delivery of data (for example, content) is requested from a terminal, the format of the content is converted in accordance with the type of terminal that requests the delivery of the content.
Such a content conversion system includes conversion servers that convert the format of content to the format that can be used by client terminals. Such conversion servers convert, for example, contents in the Hyper Text Markup Language (HTML) format stored in a content server to contents in the Compact HTML (cHTML) format that can be used by mobile terminals.
Furthermore, when converting the format of content, the conversion servers store converted content in cache memories (hereinafter, referred to as a “cache”) in order to efficiently perform processes. Then, if a conversion server receives a request for the same content from the same type of terminal, the conversion server efficiently performs a process by sending, to the client terminal, the converted content stored in the cache.
In the following, a specific example of a process performed by a conversion server will be described with reference to FIG. 36. For example, the conversion server receives a request for a content “C#2” from a client terminal whose terminal type is “CL_A” (see (1) of FIG. 36). Then, the conversion server determines whether content that has been converted from the format of the content “C#2” to the format that can be used by the terminal whose terminal type is “CL_A” is stored in a cache in the conversion server.
If as a result of the determination the conversion server determines that the converted content is not stored in the cache in the conversion server, the conversion server sends the request for the content “C#2” to a content server #2 (see (2) of FIG. 36). Furthermore, the conversion server acquires the content “C#2” that is sent from the content server #2 (see (3) of FIG. 36). Then, the conversion server converts the format of the acquired content “C#2” to the format that can be used by the terminal whose terminal type is “CL_A” and sends the converted content to the client terminal (see (4) of FIG. 36).
Furthermore, the conversion server stores the converted content in the cache. If the conversion server again receives a request for the content “C#2” from the client terminal whose terminal type is “CL_A”, the conversion server sends, to the client, the converted content stored in the cache. In other words, the conversion server sends the converted content to the client without performing a conversion process on the content “C#2”.
To enhance the content conversion system's overall performance, the content conversion system having such a conversion server is known that uses a scale-out architecture in which send requests received from clients are distributed to conversion servers.
For example, in the example illustrated in FIG. 37, a content conversion system includes a layer 4 switch, conversion servers #1 to #3, and content servers #1 to #3. With the content conversion system, the layer 4 switch distributes requests received from each client to the conversion servers #1 to #3 and allows each of the conversion servers #1 to #3 to perform a process, thus enhancing the performance of the overall system.
For example, in the example illustrated in FIG. 37, if the layer 4 switch receives a request for the content “C#2” from the client terminal whose terminal type is “CL_A”, the layer 4 switch randomly selects a destination conversion server from among the conversion servers #1 to #3. Then, the layer 4 switch distributes, to the randomly selected conversion server #1, the request received from the client terminal whose terminal type is “CL_A”.
However, with the content conversion system having the scale-out architecture described above, because requests from each client are randomly distributed to each conversion server, there is a problem in that the cache stored in each conversion server cannot be appropriately used.
For example, with the content conversion system, if a request is received from a client terminal, in some cases, the request from the client terminal may be distributed to the conversion server #1 even when the cache corresponding to the conversion result is stored in the conversion server #2. In such a case, because the content conversion system cannot use the cache stored in the conversion server #2, the cache hit rate decreases, which means the cache cannot be appropriately used.
Furthermore, it is conceivable that the cache hit rate can be improved by synchronizing each cache in each conversion server arranged in the content conversion system; however, processing loads for synchronizing the caches increase in accordance with the number of conversion servers. For example, in the example in FIG. 38, to synchronize the caches, the conversion server #1 sends the converted content to the other conversion servers #2 and #3 and allows the conversion servers #2 and #3 to store the converted content every time the format of the content is converted. Accordingly, for the content conversion system, processing loads for sending the converted content increase in accordance with the number of conversion servers.    Patent Document: Japanese Laid-open Patent Publication No. 2003-28935